【算法】双鱼眼图像and视频拼接细节说明 您所在的位置:网站首页 实时图像拼接 开源网站 【算法】双鱼眼图像and视频拼接细节说明

【算法】双鱼眼图像and视频拼接细节说明

2024-07-08 03:53| 来源: 网络整理| 查看: 265

是什么: 大家都知道VR,能够看到360度全景图像,即每帧图像记录了360度的景色。而工业界是怎样拍摄这样的图像的呢?目前博主了解的主要有两种做法:

A.使用多个正常摄像头,每个摄像头拍摄固定角度的图像,然后再拼接,博主2年前曾看过海康威视的由8个摄像头组成的全景拍摄器材B.使用两个视角>=180度的鱼眼摄像头,再拼接 在这里插入图片描述 相机来源优点缺点正常摄像头畸变较少,矫正拼接时效果好贵双鱼眼摄像头便宜,安装简单,目前米家/三星 Gear360都已很成熟拼接还是有瑕疵

能学习的知识:: 初阶: 双鱼眼图像拼接能考察非常全面的图像处理知识,在目前深度学习火的时候,掌握以前的图像处理知识还是很有帮助的。概括的知识点:

图像成像原理(世界坐标点到二维图像), 图像特征(sift/surf等,学习下前人在没有端对端网络怎么提的人工特征) superpoint + superglue 等深度学习的模型怎么提特征的。 图像拼接融合,最佳缝合线 图像金字塔,高斯金字塔/拉普拉斯金字塔 趣味图像转换

高阶:

提升效果:比我提供的解决方案效果好,能在什么方向优化效果 提升效率:怎么加速处理过程,SIMD/算法/并行??? 双鱼眼+ 其他AI的应用(双鱼眼全景图 + 室内导航与定位系统/双鱼眼全景图 + 无人驾驶) 1.需求

输入:给定两张鱼眼图像拍摄的图像,并且两个鱼眼镜头拍摄角度相向 输出:一张拼接好的矩形映射全景图(后续你可以根据这张全景图去做各种趣味剪辑)

2.我的解决方案 2.1 算法模块拆解

我先google网上的做法:发现类似的功能: https://moonagic.com/dualfisheye-to-equirectangular/

1.圆形畸变鱼眼图转换为矩形展开图(如下图),代码位于libs/remap/remap.py

在这里插入图片描述

2.特征提取配对,代码位于libs/feature3.矫正图像,代码位于libs/homography4.图像融合,使用最佳缝合线(相对于线性融合无重影),支持拉普拉斯金字塔恢复细节,代码位于libs/fusion/ 在这里插入图片描述 2.2 后期优化

由于时间有限,博主还有自己的工作,抽周末完成这些项目,有些可优化的方向未实现,但都比较简单大家可以自己实现

效果:

1.图像配对点,sift等一系列特征都受输入图像影响,如果输入图像都是低频信息,不存在梯度等变化也就没有办法找到这些特征了,工业界都会使用标定图去找到配对点,如果你要接入标定图输出坐标的化只需要把process.py[67-68行]输入进去[[x,y]]Z坐标2.图像矫正,在project/paper文件夹里有三星GEAR360的一篇论文,大体方法类似,但他在矫正时加了模板匹配来左右对齐,大家也可以看看3.图像融合,如果有明显的光照区别,可以试试光照补偿的一些算法 效率: 说实话python没什么能优化效率的,也可以把一些操作cython化但是也没什么意义,不如用c++写一遍用SIMD优化 分析各个阶段的效率:1.remap:已经生成xmap,ymap坐标映射图了,转换很快2.sift是比较慢,这里已经做了优化(只对overlap提特征),如果是跑视频的化,只需要前几帧生成homography后面都不用提sift特征了3.融合,只对overlap区域最佳缝合线也不耗时,但图像金字塔有卷积操作

代码风格(google python style):

1.代码框架 在这里插入图片描述 2.其中一个类格式 在这里插入图片描述

调试参数

我们在CROSS数据集中和目前已有的软件如三星等软件对比。(我们的模型没有加光照补偿, 但效果仍有一定的竞争力, 并且我们提供源码) 请添加图片描述

源代码

创作不易, 由于网上没有类似的代码, 博主花了大量时间较为完善的写下了整个pipeline代码, 按照创作难度收取了费用,敬请各位见谅。我们在各个渠道已经销售了过50份, 我们能提供鱼眼图像转换为矩形全景图的完整pipeline, 各个子模块被充分解藕。获取请前往 面包多。

【项目END】基于双鱼眼的全景图像CV算法实战



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有